package com.ruoyi.decision.service.impl;

import com.ruoyi.decision.domain.TemplatePlan;
import com.ruoyi.decision.mapper.TemplatePlanMapper;
import com.ruoyi.decision.service.ITemplatePlanService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Locale;
import java.util.UUID;

/**
 * 预案库Service业务层处理
 * 
 * @author zbw
 * @date 2022-07-20
 */
@Service
public class TemplatePlanServiceImpl implements ITemplatePlanService 
{
    @Autowired
    private TemplatePlanMapper templatePlanMapper;

    /**
     * 查询预案库
     * 
     * @param templateId 预案库主键
     * @return 预案库
     */
    @Override
    public TemplatePlan selectTemplatePlanByTemplateId(String templateId)
    {
        return templatePlanMapper.selectTemplatePlanByTemplateId(templateId);
    }

    /**
     * 查询预案库列表
     * 
     * @param templatePlan 预案库
     * @return 预案库
     */
    @Override
    public List<TemplatePlan> selectTemplatePlanList(TemplatePlan templatePlan)
    {
        return templatePlanMapper.selectTemplatePlanList(templatePlan);
    }

    /**
     * 新增预案库
     * 
     * @param templatePlan 预案库
     * @return 结果
     */
    @Override
    public int insertTemplatePlan(TemplatePlan templatePlan)
    {
        String templateId = UUID.randomUUID().toString().toLowerCase(Locale.ROOT).replace("-","");
        templatePlan.setTemplateId(templateId);
        return templatePlanMapper.insertTemplatePlan(templatePlan);
    }

    /**
     * 修改预案库
     * 
     * @param templatePlan 预案库
     * @return 结果
     */
    @Override
    public int updateTemplatePlan(TemplatePlan templatePlan)
    {
        return templatePlanMapper.updateTemplatePlan(templatePlan);
    }

    /**
     * 批量删除预案库
     * 
     * @param templateIds 需要删除的预案库主键
     * @return 结果
     */
    @Override
    public int deleteTemplatePlanByTemplateIds(String[] templateIds)
    {
        return templatePlanMapper.deleteTemplatePlanByTemplateIds(templateIds);
    }

    /**
     * 删除预案库信息
     * 
     * @param templateId 预案库主键
     * @return 结果
     */
    @Override
    public int deleteTemplatePlanByTemplateId(String templateId)
    {
        return templatePlanMapper.deleteTemplatePlanByTemplateId(templateId);
    }
}
